package cn.wolfcode.crm.util;

import org.springframework.util.StringUtils;

import java.lang.reflect.Method;

public abstract class PermissionUtil {

    /**
     *根据反射的method对象获取权限表达式的工具类
     * @param method
     * @return
     */
    public static String handlerExpression(Method method) {
        //权限表达式 controller的名称 去掉controller字符串 首字母小写 与方法名称拼接起来

        //method.getDeclaringClass() 获取方法所在的类
        String simpleName = method.getDeclaringClass().getSimpleName();//DepartmentController
        simpleName = simpleName.replace("Controller", "");//Department
        simpleName = StringUtils.uncapitalize(simpleName);//把首字母转小写 department
        String methodName = method.getName();//获取 方法名 list
        String expression = simpleName + ":" + methodName;//拼接起来 设置表达式
        return expression;
    }
}
